#include <stdio.h>
#include <signal.h>

volatile int flags = 0;
void handler(int signo)
{
    flags = 1;
    printf("更改flags:0->1\n");
}

int main()
{
    signal(2, handler);
    while (!flags);
    printf("进程是正常退出的！\n");
    return 0;
}

// int flags = 0;
// // volatile int flags = 0;
// void handler(int signo)
// {
//     flags = 1;
//     printf("更改flags:0->1\n");
// }

// int main()
// {
//     // 可以修饰一个变量吗？
//     // 含义冲突吗，该变量代表社么含义？
//     volatile const int a = 100;

//     signal(2, handler);

//     while (!flags)
//         ;
//     printf("进程是正常退出的！\n");
//     return 0;
// }